Home automation networks may be subject to a variety of sources of interference and/or shielding that prevents the successful delivery of control signals to controllable devices in the network. There are many types of appliances or devices that may be controlled as a single unit, such as lights, window shades, water pressure in fountains, music volume to speakers, and the like. A problem may occur when less than all of the multiple output devices or appliances receive the control signals.
Home automation networks may operate at frequencies, such as 900 MHz, and 802.11 frequencies (Wi-Fi), that are commonly interfered with by other devices, such as microwave ovens, baby monitors and the like. As a result, communications over home automation networks may be unreliable, and some of the appliances or devices may not receive control signals. Missed control signals may cause synchronization problems when less than all of the multiple output devices or appliances receive the control signals.
For example, a command for a group lights to adjust to a specific lighting level may be sent over an unreliable wireless network in which data communication can be lost. As a result, if one light in a group of lights operating together fails to receive the command then uneven lighting may occur and the results may not be aesthetically pleasing. To make sure all devices received the message, various schemes have to be used to confirm successful receipt of the message, for example, requiring each target device to “acknowledge” the reception of the command. If any of the target devices fail to acknowledge the message, the message may be resent. The acknowledgement requirement adds further latency to the network, which further delays the response of the lagging light.
Often times a centralized command and processing model is used in which a central controller calculates the performance parameters of all of the devices that are being controlled as a single unit, and sends commands to a plurality of devices to perform an action. For example, an initial command may include a first set of initial device parameters based on an expected state of the respective devices. The central controller may issue intermediary commands with updated device parameters for each of the respective plurality of devices so the performance of the action by the respective devices may remain synchronized. This leads to an additional level of complexity at the central controller. In addition, the centralized command model does not account for errors in the expected states of the respective device. As a result, there may be abrupt changes to the operation of the device when an intermediary command is received.